\section{Requirements and process analysis}
The traditional waterfall model was used for the project and hence the
requirements have been gathered and updated several times. Prototypes were
demonstrated regularly to ensure the software is meeting the expectations and
requirements.

\subsection{Eliciting of requirements}

The recurrent gathering of requirements involved the team at IMSE, TUM.

\subsection{Gathered requirements}

\subsubsection{Functional requirements}
The software has to provide the following features:
\begin{enumerate}
\item Display graphs of sensor files \newline The software has to analyze sensor
files (for the most part in style of comma separated value-files i.e.: *.CSV)
and visualize them as a graph.
\item Comparison graph \newline Multiple files can be opened and visually
compared.
\item Measurement of similarity \newline The software detects movements and
PL-movements in PSG and GT3X files and computes their similarity (identical
information of movement in both files).
\item Graphical interface \newline The software must visualize data as
graphs and hence provide a graphical interface to scale and move through those
graphs easily.
\item Event logger \newline A logging class provides the possibility to see the
history of the program use by one or several persons until the program is
closed.
\item Specialized filepicker \newline To get a quick overview while browsing
folders, the program's filepicker includes a small information section where the
following information of the currently selected file is shown: Valid file
(YES/NO), type of file, if valid: count of movements contained in the file.
\item Timeshift \newline To correct varying starting times of sensor
recordings, the software has to offer a function that changes the starting time
in order to achieve synchronous starting times for all opened files.
\end{enumerate}
 
\subsubsection{Non-Functional requirements}
\begin{enumerate}
\item Platform independency \newline The software should be usable with
Windows, Mac and Linux. Since the Java virtual machine is running under
practically every OS, Java can easily accomplish that goal.
\item Easy portability for Android phones \newline Can be achieved via the use
of Java/Eclipse.
\item Codebase on repository \newline Easy development in the team,
maintainability and code access for potential follow-up developers. Repository
on googlecode: http://code.google.com/p/movyzer.
\item Intuitive \newline Zoom and navigate graphs easily and intuitively.
\item Correctness \newline Supply testing scenarios to improve the software
quality and ensure correctness.
\end{enumerate}

\subsection{Process analysis}

For process modeling Oryx (BPMN 2.0) was used. \\
(online repository @ http://oryx-project.org/backend/poem/repository).
\newline \newline
The software hooks up in the task of comparing the data of Actigraph
accelerometers and polysomnography measurements.

\begin{figure}[htp] 
\begin{center}
  \includegraphics[width=1.4\textwidth,angle=90]{pdfs/process_ana.pdf}
  \caption[Process analysis]{Process analysis of the
  overall research project.}
  \label{fig:process_ana}
\end{center}
\end{figure}
Figure \ref{fig:process_ana} shows the process analysis.




